#include "common.hpp"

int main()
{
    int shmid = GetShareMem();
    char* shmaddr = (char*)shmat(shmid, nullptr, 0);
    // 一旦有了共享内存，挂接到自己的地址空间中，你直接把他当成你的内存空间来用即可!
    // 不需要调用系统调用
    // IPC code, 让B进程写
    // 打开信道
    int fd = open(FIFO_FILE, O_WRONLY);
    if(fd == -1) {
        log(FATAL, "open error, %s", strerror(errno));
        exit(FIFO_OPEN_ERR);
    }
    while(true) {
        // 直接访问共享内存
        cout << "Please enter@ ";   
        fgets(shmaddr, SIZE, stdin);
        write(fd, "c", 1);      // 通知另一个进程
        // 通过一个buffer来访问
        // char buffer[1024];
        // cout << "Please enter@ ";   
        // fgets(buffer, sizeof(buffer), stdin);
        // // strlen+1, 让读取的时候读到\0
        // memcpy(shmaddr, buffer, strlen(buffer)+1);
    }
    shmdt(shmaddr);
    return 0;
}